Valid for: 2023/24
Faculty: Faculty of Engineering, LTH
Decided by: PLED C/D
Date of Decision: 2023-02-27
Elective for: C4-pv, D4-is, D4-pv, D4-hs, E4, F4, F4-bs, I4, M4, N4, Pi4-pv
Language of instruction: The course will be given in Swedish
The purpose of the course is that the students should learn how to write efficient programs in the C language. In order to achieve this main purpose, three other purposes of the course are that the students should learn about (1) the ISO C18 language, (2) modern computer architecture, from the perspective of the programmer, with focus on microprocessors and cache memories, and (3) modern tools to evaluate C programs in terms of correctness and efficiency.
Knowledge and understanding
For a passing grade the student must
Competences and skills
For a passing grade the student must
Judgement and approach
For a passing grade the student must
The ISO C18 standard, the principles of the C language, comparison between Java and C, struct, pointer, array, memory allocation, global variables, static storage duration, the C standard library, C compiler, implementation defined behaviour, unspecified behaviour, undefined behaviour, storage class specifiers, type specifiers, C preprocessor, GDB, Valgrind, the profiling tools GPROF, OPROFILE and GCOV, pipelined microprocessors, cache memories, using simulation tools for performance analysis, and a methodology to maximize the performance of a C program.
Grading scale: TH - (U,3,4,5) - (Fail, Three, Four, Five)
Assessment: To pass the course it is required to pass the oral exam, computer labs, and a project. In order to participate in the exam, the laboratory sessions must be completed. Final grades in the course are based on the results of the oral exam.
The examiner, in consultation with Disability Support Services, may deviate from the regular form of examination in order to provide a permanently disabled student with a form of examination equivalent to that of a student without a disability.
Parts
Code: 0122. Name: Examination.
Credits: 4,5. Grading scale: TH. Assessment: Approved examination. Contents: Oral examination.
Code: 0222. Name: Laboratory Sessions.
Credits: 2. Grading scale: UG. Assessment: Approved laboratory sessions. Contents: Computer labs.
Code: 0322. Name: Project.
Credits: 1. Grading scale: UG. Assessment: Approved project.
The number of participants is limited to: No
The course overlaps following course/s: EDAF15, EDAA25
Course coordinator: Jonas Skeppstedt, jonas.skeppstedt@cs.lth.se
Course homepage: https://cs.lth.se/edag01